SLEEP         : Mise en veille du microcontrôleur  ( Power Down mode )

0    -> PD
1    -> TO
00    -> WDT
00    -> Prédiviseur de WDT

Nombre de cycle d'horloge : 1

Indicateurs positionnés
:                                                                         
PD=0 et TO=1

Syntaxe :  SLEEP
La consommation de courant est minimale.


SUBLW         : (Substract Literal from W)
Soustraction entre une valeur et le registre W

v - ( W )  -> ( W )

( la série PIC 16C5x ne comprend pas cette instruction)

Nombre de cycle d'horloge : 1

Indicateurs positionnés :                                                       

C si retenue ( C=1 )
DC si la somme des quatre bits de poids faible est > 15 ( DC=1 )
Z si la somme est nulle ( Z=1 )

Syntaxe : SUBLW 0x01           éxécute la soustraction 01 - contenu de W résultat dans W
                                                (  méthode du complément à 2 )



SUBWF
     : (Substract W from F)
Soustraire le contenu du registre W du contenu du registre f résultat dans d

( f ) - ( W )   -> ( d )

Nombre de cycle d'horloge : 1

Indicateurs positionnés
:                                                                               
Z si résultat stocké dans le registre W ou f est nul  ( Z=1 )
C = 1   si   f > W  ou  f = W

d est paramétrable
si d= 0 le résultat va dans le registre W
si d= 1 le résultat va dans le registre f

Exemple :   

Dans cet exemple on charge une valeur dans le registre W puis on la soustraie avec le contenu d'un registre temporaire, le résultat est dirigé vers le registre temporaire..
(  méthode du complément à 2 )

Reg_temp   equ    0Ah       OA correspond à l'adresse d' un registre temporaire
#define f 1                         on affecte la valeur 1 à la variable f

Movlw 00001010b            on charge 0Ah dans le registre W
Movwf  Reg_temp            on met W dans le registre temporaire
Movlw 00000001b           on charge 01h dans le registre W
Subwf Reg_temp, f          on soustraie avec W le registre temporaire= 00001001b

SWAPF     : (SWAP nibbles in F)
Échange de quartets entre le registre ( f ) et ( d )

( f bit 0 à bit 3)   ->   ( d bit 4 à bit 7 )
( f bit 4 à bit 7)   ->   ( d bit 0 à bit 3 )

Nombre de cycle d'horloge : 1

Indicateurs positionnés : Aucun

d est paramétrable
si d= 0 le résultat va dans le registre W
si d= 1 le résultat va dans le registre f